home *** CD-ROM | disk | FTP | other *** search
- {$X+,B-,V-} {essential compiler directives}
-
- program volstat;
-
- { Example for the nwFile unit / NwTP 0.6 API. (c) 1993,1995, R.Spronk }
-
- { Purpose: Lists all volume information for each volume on all
- servers logged in to. If used with the parameter 'c',
- the volume information will be displayed in a condensed
- form and will be updated every 5 seconds.
-
- Tests the following functions in the nwDir Unit:
-
- GetVolumeUsage
- GetVolumeName
- GetVolumeNumber
-
-
- (3410) Thu 10 Feb 94 11:24
- By: Frank Van.Wensveen
- To: All
- Re: MULTISERVER VOLINFO
- St:
- ------------------------------------------------------------
- Ik zoek z.s.m. een utility waarmee ik de volspace van meerdere
- servers tegelijk in de gaten kan houden. Een soort multi-server
- VolInfo dus. Er zijn pakketten om dat heel mooi te doen (ik heb
- er zelfs een ter evaluatie liggen momenteel) maar ik zoek nu
- even snel (want de nood is hoog) iets eenvoudigs.
-
- FVW
-
- ---
- * Origin: * NGN Point-Service -31-4752-6190 * (2:512/250) }
-
- Uses Crt,nwMisc,nwBindry,nwConn,nwFile;
-
- CONST testing=TRUE;
-
- Var volNbr:Byte;
- volumeName:String;
- volInfo:TvolUsage;
- cont:Boolean;
- ConnId,OldConnId:Byte;
- ServerName:string;
- version:word;
-
- Begin
- If NOT (IsShellLoaded and IsUserLoggedOn)
- then begin
- writeln('VolStat requires:');
- writeln(' -The shell to be loaded;');
- writeln(' -You to be logged in.');
- halt(1);
- end;
-
- GetNWversion(version);
- if version<300
- then begin
- writeln('Netware 3.x only.');
- halt(1);
- end;
-
- cont:=(ParamCount>0) and ((pos('c',paramstr(1))>0) or (pos('C',paramStr(1))>0));
-
- GetPreferredConnectionId(OldConnId);
- REPEAT
- clrscr;
- For ConnId:=1 to MaxServers
- do begin
- IF GetFileServerName(connId,ServerName)
- then begin
- SetPreferredConnectionId(connId);
- volNbr:=0;
- While volNbr<32
- do begin
-
- If GetVolumeUsage(volNbr,volInfo)
- then with volInfo
- do begin
- if cont { condensed output }
- then begin
- writeln('\\'+Servername+'\'+VolumeName);
- writeln(' VS: ',totalblocks*(sectorsPerBlock div 2),' ',freeblocks*(sectorsperBlock div 2),' '+
- 'DE: ',totalDirentries,' ',AvailDirEntries);
- end
- else begin { normal output }
- writeln;
- writeln('Servername : ',ServerName);
- writeln('Volumenumber: ',volNbr);
- writeln('Volume name : ',volumeName);
- writeln('Blocksize : ',SectorsPerBlock * 512,' bytes.');
- writeln('Total blocks: ',totalblocks,' (=',(totalblocks * (sectorsPerBlock div 2)),' Kb.)');
- writeln('Free blocks : ',freeblocks,' (=',(freeblocks * (sectorsPerBlock div 2)),' Kb.)');
- writeln('Purgable blocks : ',purgableblocks,' (=',
- purgableblocks * (sectorsPerBlock div 2),' Kb.)');
- writeln('TotalDirEntries : ',totalDirEntries);
- writeln('Available DE : ',availDirEntries);
- end;
- end;
-
- inc(volNbr);
- end;
- end;
- end;
- if cont
- then delay(5000); { 5 second interval }
- UNTIL KeyPressed or (not cont);
-
- SetPreferredConnectionId(OldConnId);
- end.